// CommandLineHelper Library
// =========================
// License: Microsoft Permissive License (Ms-PL) v1.1
// Author: Rhy Mednick (http://www.rhyverse.net)
// Project Site: http://www.codeplex.com/CommandLineHelper

using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using CommandLineHelper.Attributes;

namespace CommandLineHelper
{

    internal class ItemPropertyInfo
    {
        private PropertyInfo _propertyInfo;
        private List<IValidation> _validationList = new List<IValidation>();
        private bool _mandatory = false;
        private string _helpMessage = String.Empty;
        private bool _valueFromRemainingArguments = false;

        public bool ValueFromRemainingArguments
        {
            get { return _valueFromRemainingArguments; }
            set { _valueFromRemainingArguments = value; }
        }

        public string HelpMessage
        {
            get { return _helpMessage; }
            set { _helpMessage = value; }
        }

        public bool Mandatory
        {
            get { return _mandatory; }
            set { _mandatory = value; }
        }

        public PropertyInfo PropertyInfo
        {
            get { return _propertyInfo; }
            set { _propertyInfo = value; }
        }

        public List<IValidation> ValidationList
        {
            get { return _validationList; }
        }
    }
}
